package com.tomshushu.doc.freedoc.modular.doc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tomshushu.doc.freedoc.modular.directory.model.param.ReNameParam;
import com.tomshushu.doc.freedoc.modular.doc.entity.DocEntity;
import com.tomshushu.doc.freedoc.modular.doc.model.param.*;
import com.tomshushu.doc.freedoc.modular.doc.model.result.ListDocResult;
import com.tomshushu.doc.freedoc.modular.doc.model.result.SearchDocResult;
import org.springframework.web.bind.annotation.RequestBody;

import java.io.Serializable;
import java.util.List;

/**
 * @description:
 * @author: zhouhong
 * @date: 2025-06-10 17:14
 * @version: 1.0
 */
public interface DocService extends IService<DocEntity> {
    /**
     * 添加文档
     * @param param
     */
    DocEntity addDoc(AddDocParam param);

    /**
     * 编辑文档
     * @param param
     */
    void editDoc(EditDocParam param);
    /**
     * 修改名称
     * @param param
     */
    void renameDoc(@RequestBody RenameParam param);
    /**
     * 获取文档
     * @param param
     */
    DocEntity getById(DeleteDocParam param);

    /**
     * 删除文档
     * @param param
     */
    void deleteDoc(DeleteDocParam param);

    /**
     * 获取当前项目下所有文档
     * @param param
     */
    List<ListDocResult> listAllChildDoc(@RequestBody ListDocParam param);

    /**
     * 搜索文档
     * @param param
     */
    List<SearchDocResult> listSearch20Doc(@RequestBody SearchDocParam param);
}
